/**waitpid*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include<signal.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<errno.h>

int main(void)
{
	int pid;
	pid=fork();
	switch(pid){
		case -1:
			perror("fork error");
			return 1;
		case 0:
			printf("i am child,pid=%d\n",getpid());
			while(1){
				sleep(1);
			}
			exit(0);
		default:{
			int ret;
			int status;
			sleep(1);
			printf("i am parent\n");
			//ret=waitpid(pid,&status,0);
			//ret=waitpid(-1,&status,0);
			//ret=waitpid(-1,&status,WNOHANG);
			ret=waitpid(-1,&status,WUNTRACED | WCONTINUED);
			if(-1==ret){
				perror("waitpid error");
				exit(0);
			}else if(0==ret){
				printf("WNOHANG return 0,nothing happended\n");
			}else{
				printf("%d,%d\n",ret,WTERMSIG(status));
			}
			return 0;
				}
	}
}
